//844. 比较含退格的字符串
//思路：我们用栈来处理这个问题
//1.如果碰到 '#' 就将栈顶元素弹出
//2.如果是普通字符就将其压入栈中

#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
char* build(char* str)
{
    int len = strlen(str), i = 0;
    char* ret = (char*)malloc(sizeof(char) * (len + 1));
    for (int j = 0; j < len; j++)
    {
        if (str[j] != '#')
            ret[i++] = str[j];
        else if (i > 0)//注意：要判断 i 是否大于 0，而不是直接else
            i--;
    }
    ret[i] = '\0';
    return ret;
}
bool backspaceCompare(char* s, char* t) {
    return strcmp(build(s), build(t)) == 0;
}